#ifndef QAVVIDEOBUFFER_P_H
#define QAVVIDEOBUFFER_P_H

#include <qavvideoframe.h>
#include <QVariant>

QT_BEGIN_NAMESPACE

class QAVVideoBuffer
{
public:
    QAVVideoBuffer() = default;
    explicit QAVVideoBuffer(const QAVVideoFrame &frame) : m_frame(frame) { }
    virtual ~QAVVideoBuffer() = default;
    const QAVVideoFrame &frame() const
    {
        return m_frame;
    }

    virtual QAVVideoFrame::MapData map() = 0;
    virtual QAVVideoFrame::HandleType handleType() const
    {
        return QAVVideoFrame::NoHandle;
    }
    virtual QVariant handle() const
    {
        return {};
    }

protected:
    QAVVideoFrame m_frame;
};

QT_END_NAMESPACE

#endif
